﻿<?php
	require_once("../config/config.php");
	
	// Récupération de la liste des locations en cours
	$log = $_SESSION['log'];
	$sql = " select f_id, f_titre, loc_deb from locations, films
	where loc_cli = 
		(select cl_id from clients
		 where cl_mail like '$log')
	and loc_film = f_id ";	
	$rq = execQuery($sql);	
	$nbLocs = $rq->rowCount();
	
	$nbNvLocs = count($_SESSION['panier']);
	
	$erreur = "";
	// Contrainte : Locations + nouvelles locations <= 3
	if($nbLocs + $nbNvLocs > 3){
		$erreur = "Impossible de louer d'autres films, 
			le nombre total de locations serait supérieur à 3.";
	}
	
	// Contrainte : Pour nouvelle location, stock film - exemplaires en cours de location > 0
	if($erreur == ""){
		foreach($_SESSION['panier'] as $film_id){
			// Nombre d'exemplaires loués du film
			$sql = "select count(*) from locations
					where loc_film = $film_id
					and loc_fin is null";
			$rq = execQuery($sql);
			$res = $rq->fetch();
			$nbExLoues = $res['count'];
				
			// Nombre d'exemplaires total disponible
			$sql = "select f_titre, f_nb_exemplaires from films
					where f_id = $film_id";
			$rq = execQuery($sql);
			$res = $rq->fetch();
			$nbStock = $res['f_nb_exemplaires'];
			
			if($nbStock - $nbExLoues == 0){
				$erreur = "Impossible de réserver le film \"" . $res['f_titre'] .
				"\" car il n'y a pas d'exemplaire en stock.";
				break;
			}
		}
	}
	
	// Enregistrer les nouvelles locations dans la base
	// + les supprimer de $_SESSION
	if($erreur == ""){
		foreach($_SESSION['panier'] as $film_id){
			// Ajouter location
			$date = date("Y-m-d H:i:s");
	        $sql = "INSERT INTO locations (loc_film, loc_cli, loc_deb, loc_fin)
	                VALUES ($film_id," . $_SESSION['id'] . ", '$date', null)";
	        execQuery($sql);
			
			$_SESSION['panier'] = array_diff($_SESSION['panier'], array($film_id));
		}
	}
	
?>

<h1><img src="images/louer.png"> Validation locations</h1>

<?php 
	if($erreur!="") echo $erreur;
	else {
		$enCours = "Locations validées. <br />";
		
		// Affichage des locations
		$enCours .= "<h3> Vos locations en cours :</h3>";
		$enCours .= "<table><tr><th>Film</th><th>Début location</th>";
		
		$res = $rq->fetchAll();
		
		foreach($res as $loc){
			$enCours .= "<tr><td>" . $loc['f_titre'] ."</td><td>" . $loc['loc_deb'] . "</td>";
		}
		$enCours .= "</table>";
		
		echo $enCours;
	}
?>